Why Transactional Memory Should Not Be Obstruction-Free

نویسندگان

  • Petr Kuznetsov
  • Srivatsan Ravi
چکیده

Transactional memory (TM) is an inherently optimistic abstraction: it allows concurrentprocesses to execute sequences of shared-data accesses (transactions) speculatively, with anoption of aborting them in the future. Early TM designs avoided using locks and relied onnon-blocking synchronization to ensure obstruction-freedom: a transaction that encounters nostep contention is not allowed to abort. However, it was later observed that obstruction-free TMs perform poorly and, as a result, state-of-the-art TM implementations are nowadaysblocking, allowing aborts because of data conflicts rather than step contention.In this paper, we explain this shift in the TM practice theoretically, via complexity bounds.We prove a few important lower bounds on obstruction-free TMs. Then we present a lock-based TM implementation that beats all of these lower bounds. In sum, our results exhibit aconsiderable complexity gap between non-blocking and blocking TM implementations.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Contention Management in Dynamic Software Transactional Memory∗

Obstruction-free concurrent algorithms differ from those with stronger nonblocking conditions in that they separate progress from correctness. While it must always maintain data invariants, an obstructionfree algorithm need only guarantee progress in the absence of contention. The programmer can (and indeed must) address progress as an out-of-band, orthogonal concern. In this work we consider t...

متن کامل

Transactional Memory Should Be an Implementation Technique, Not a Programming Interface

© Transactional Memory Should Be an Implementation Technique, Not a Programming Interface Hans-J. Boehm HP Laboratories HPL-2009-45 transactional memory, locks Transactional memory is often advocated as an easier-to-use replacement or locks that avoids any possibility of deadlock. Recently, as more care has been exercised in precisely specifying its semantics, a number of researchers have obser...

متن کامل

Software Transactional Memory for Dynamic-Sized Data Structures

Software transactional memory (STM) is a programming abstraction for organizing access to shared mutable state in concurrent programs by dividing work into atomic units, called transactions. Dynamic STM builds on this idea by allowing extra runtime decisions about transactions and memory usage, therefore it is useful for working with dynamic-sized data structures. This review first introduces S...

متن کامل

Randomization in STM Contention Management

The obstruction-free Dynamic Software Transactional Memory (DSTM) system of Herlihy et al. allows only one writing transaction at a time to access an object. Should a second require an object currently in use, a contention manager must determine which may proceed and which must wait or abort. In this case study, we consider the impact of randomization when applied to our “Karma” contention mana...

متن کامل

Reduced Hardware NOREC: An Opaque Obstruction-Free and Privatizing HyTM

This paper presents a reduced-hardware (RH) version of the promising NORec Hybrid TM algorithm. Instead of an all-software slow path, in RH transactions, part of the slow-path is executed using a short hardware transaction. The purpose of this hardware component is not to speed up the slow-path (though this is a side effect). Rather, using it we are able to eliminate virtually all of the instru...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1502.02725  شماره 

صفحات  -

تاریخ انتشار 2015